iT邦幫忙

0

彰師小生物:大學生課程評價查詢 LINE Bot 及網站

  • 分享至 

  • xImage
  •  

開發動機

每一天我們都在做選擇,選餐廳、選工作、選房子,而暑假對大學生來說還有一件蠻大的小事—選課。通常,參考別人經驗與評價是最有效幫自己做決定的方法,於是有了 Google Map、面試趣等各種工具誕生。但對於每一學期要花約莫半個月,畫課表、開一堆分頁看評價、忙著私訊學長姐問修課,結果加選被系統與教授遺棄拒絕的大學生、新生,還有人生地不熟的轉學生,他們似乎需要一個更好的工具規劃未來的自己,最好是一邊跑加簽一邊可以看評價的那種

專案簡介

本專案以國立彰化師範大學為例,學生僅需以手機或平板設備,利用 LINE Bot 及網站,就能以「最短操作路徑」查詢課程評價,搭配評價投稿與預排課表功能,減少學生查找課程評價時,曠日廢時的清洗資料過程,快速解決選課困難。

開發狀態與成效

  • 已上線,並持續更新
  • 累積達 10,000 位好友數,付費訂閱率 20~25%,每學期訊息回覆量約 200,000 則

技術架構

  • 撰寫難易度:易,初學友善
  • 前端:Bootstrap Framework / LINE Flex Message
  • 後端:Python Django Framework
  • 資料庫:PostgreSQL
  • 部署:AWS

核心邏輯、挑戰與解方

1. 核心邏輯

使用者在對話框/搜尋框中輸入教師名或課程名,就能觸發關鍵字,藉由查找資料庫回應對應的課程評價。

2. 使用者在 LINE Bot 輸入無效訊息,程式要不要回覆?

若是一款全由程式回覆的 LINE Bot,我建議不回應,根據自己在 LINE OA 後台觀察的習慣,其一許多使用者會將 LINE Bot 當作記事本做備忘紀錄,其二若使用者輸入無效訊息時給予不回應,使用者比較不會因為過於頻繁的程式訊息提示而覺得反感失去耐心,相對思考的是 為什麼會讓使用者輸入這麼多次關鍵字,還沒有打到理想的結果?應該從回應邏輯上重新設計,並盡力減少使用者的學習成本

範例程式碼為假設使用者輸入:王阿呆-石頭學導論,透過-做字串分割,若無查找到對應評價就不回覆了,只回empty在終端機:

@parser.add(MessageEvent, message=TextMessage)
def handle_message(event):
    user_message = event.message.text # 取得使用者發送的文字
    if "-" in user_message:
        teacher_name = user_message.split("-")[0]
        course_name = user_message.split("-")[1]
        filtered_courses = Course.objects.filter(teacher_name=teacher_name, course_name=course_name)[:5]
        if filtered_courses.exists():
            messages = []
            for course in filtered_courses:
                messages.append(TextSendMessage(
                    text=f"""課程: {course.course_name}\
                    評價: {course.feedback_content}
                    """))

            line_bot_api.reply_message(
                event.reply_token,
                messages  
            )         
        else:
            print("Empty") # 不回覆

3. 做平台的工具要先有供給還是先有需求?

我覺得這類平台有供給會比較合適,先充實內容,尋找公開無償的評價充實平台內容,待客群黏著度漸漸提高,並增加適當誘因讓使用者願意同時成為供給方,才能讓成長飛輪繼續轉起來:)

GitHub/實作連結


*提醒邦友,使用第三方服務/API 時,請務必評估資安風險與隱私保護
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言